package top.lyjwn.todo.weinxin.data.mch;


/**
 * 统一支付接口返回接口
 * 
 * @author luoyujie
 *
 */
public class UnifiedOrderResult  {

	/**
	 * SUCCESS/FAIL
	 *
	 * 此字段是通信标识，表示接口层的请求结果，并非退款状态。
	 *
	 */
	private String return_code;
	/**
	 * 当return_code为FAIL时返回信息为错误原因 ，例如
	 *
	 * 签名失败
	 *
	 * 参数格式校验错误
	 *
	 */
	private String return_msg;

	/**
	 * 必填
	 * 
	 * 公众账号ID
	 * 
	 * 调用接口提交的公众账号ID
	 */
	private String appid;
	/**
	 * 必填
	 * 
	 * 商户号
	 * 
	 * 调用接口提交的商户号
	 */
	private String mch_id;
	/**
	 * 非必填
	 * 
	 * 设备号
	 * 
	 * 自定义参数，可以为请求支付的终端设备号等
	 */
	private String device_info;
	/**
	 * 必填
	 * 
	 * 随机字符串
	 * 
	 * 微信返回的随机字符串
	 */
	private String nonce_str;
	/**
	 * 必填
	 * 
	 * 签名
	 * 
	 * 微信返回的签名值，详见签名算法
	 */
	private String sign;
	/**
	 * 必填
	 * 
	 * 业务结果
	 * 
	 * SUCCESS/FAIL
	 */
	private String result_code;
	/**
	 * 非必填
	 * 
	 * 错误代码
	 * 
	 * 当result_code为FAIL时返回错误代码，详细参见下文错误列表
	 */
	private String err_code;
	/**
	 * 非必填
	 * 
	 * 错误代码描述
	 * 
	 * 当result_code为FAIL时返回错误描述，详细参见下文错误列表
	 */
	private String err_code_des;
	// ======================以下字段在return_code 和result_code都为SUCCESS的时候有返回
	/**
	 * 必填
	 * 
	 * 交易类型
	 * 
	 * JSAPI -JSAPI支付
	 * 
	 * NATIVE -Native支付
	 * 
	 * APP -APP支付
	 * 
	 * 说明详见参数规定
	 * 
	 */
	private String trade_type;
	/**
	 * 必填
	 * 
	 * 预支付交易会话标识
	 * 
	 * 微信生成的预支付会话标识，用于后续接口调用中使用，该值有效期为2小时
	 */
	private String prepay_id;
	/**
	 * 非必填
	 * 
	 * 二维码链接
	 * 
	 * trade_type=NATIVE时有返回，此url用于生成支付二维码，然后提供给用户进行扫码支付。
	 * 
	 * 注意：code_url的值并非固定，使用时按照URL格式转成二维码即可
	 * 
	 * 
	 */
	private String code_url;

	public UnifiedOrderResult() {
		super();
	}

	public UnifiedOrderResult(String appid, String mch_id, String device_info, String nonce_str, String sign,
			String result_code, String err_code, String err_code_des, String trade_type, String prepay_id,
			String code_url) {
		super();
		this.appid = appid;
		this.mch_id = mch_id;
		this.device_info = device_info;
		this.nonce_str = nonce_str;
		this.sign = sign;
		this.result_code = result_code;
		this.err_code = err_code;
		this.err_code_des = err_code_des;
		this.trade_type = trade_type;
		this.prepay_id = prepay_id;
		this.code_url = code_url;
	}

	public String getAppid() {
		return appid;
	}

	public String getMch_id() {
		return mch_id;
	}

	public String getDevice_info() {
		return device_info;
	}

	public String getNonce_str() {
		return nonce_str;
	}

	public String getSign() {
		return sign;
	}

	public String getResult_code() {
		return result_code;
	}

	public String getErr_code() {
		return err_code;
	}

	public String getErr_code_des() {
		return err_code_des;
	}

	public String getTrade_type() {
		return trade_type;
	}

	public String getPrepay_id() {
		return prepay_id;
	}

	public String getCode_url() {
		return code_url;
	}

	public void setAppid(String appid) {
		this.appid = appid;
	}

	public void setMch_id(String mch_id) {
		this.mch_id = mch_id;
	}

	public void setDevice_info(String device_info) {
		this.device_info = device_info;
	}

	public void setNonce_str(String nonce_str) {
		this.nonce_str = nonce_str;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public void setResult_code(String result_code) {
		this.result_code = result_code;
	}

	public void setErr_code(String err_code) {
		this.err_code = err_code;
	}

	public void setErr_code_des(String err_code_des) {
		this.err_code_des = err_code_des;
	}

	public void setTrade_type(String trade_type) {
		this.trade_type = trade_type;
	}

	public void setPrepay_id(String prepay_id) {
		this.prepay_id = prepay_id;
	}

	public void setCode_url(String code_url) {
		this.code_url = code_url;
	}

	public String getReturn_code() {
		return return_code;
	}

	public void setReturn_code(String return_code) {
		this.return_code = return_code;
	}

	public String getReturn_msg() {
		return return_msg;
	}

	public void setReturn_msg(String return_msg) {
		this.return_msg = return_msg;
	}

}
